﻿#ifndef UTILS_H
#define UTILS_H
#include <QObject>
#include <QList>
#include <QRegExp>
#include <QPushButton>

/********** 全局函数 区   此文件为工具类的函数***********/

//quint16转QList<bool>用 ,低位低下标 高位高下标
QList<bool> quint16ToBoolList(quint16 value);
quint16     boolListToQuint16(QList<bool> values);

QList<bool> quint8ListToBoolList(QList<quint8> values);

//两个quint16互换位置，加内存拷贝转float
float  quint16ToFloat(quint16  value1,quint16 value2);


//两个quint16互换位置，加内存拷贝转float
QList<quint16> floatToQuint16(float value);

QList<quint16>  quint32toQuint16List(quint32 value);

QList<bool> invertBoolList(const QList<bool>& boolList);

quint16 calculateCRC(const QByteArray &data);

quint16 quint16ModifyBit(quint16 data, int bitIndex, bool bitValue);

QList<QPushButton*> findButtonsWithSpecificName(QWidget *parent, const QString &pattern);

QString replaceFontSize(const QString &inputString, int increment);

quint16 swapBytes(quint16 value) ;

QString ByteArraytoQString16bitShow(QByteArray data);

class Utils
{
public:
    Utils();
};

#endif // UTILS_H
